Строка состоит из строчных
латинских букв и пробелов. Удвойте в ней все гласные буквы, то есть буквы a, e, i, o, u и y.
Вход.
Одна строка, состоящая из строчных латинских букв и пробелов. Строка содержит
не более 1000 символов.
Выход.
Выведите строку со всеми удвоенными гласными буквами.
Пример входа |
Пример выхода |
welcome to python |
weelcoomee too pyythoon |
строки
Объявим
указатель i на начало исходного символьного массива s и
указатель j на начало результирующего символьного массива t: i = j = 0. Двигаем указатель i по буквам
строки. Для каждой буквы строки s, не являющейся
гласной, скопируем s[i] в t[j] и подвинем
указатель j на одну позицию вперед. Если буква
s[i] является гласной, то заносим ее два раза в конец строки t.
Реализация алгоритма
Объявим входной
символьный массив s и результирующий t.
char s[1001], t[2001];
Читаем входную строку.
gets(s);
Букву s[i] копируем в t[j] и
увеличиваем индекс j на 1. Если s[i] гласная, то заносим s[i] в конец
массива t дважды.
int j = 0;
for (int i = 0; i < strlen(s); i++)
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' ||
s[i] == 'u' || s[i] == 'y')
{
t[j++] = s[i];
t[j++] = s[i];
}
else
t[j++] = s[i];
В конце результирующей строки ставим 0 байт.
t[j] = 0;
Выводим результат.
puts(t);
Реализация алгоритма – C++
Читаем входную
строку.
getline(cin, s);
Инициализируем результирующую строку res.
res = "";
Перебираем символы строки.
·
Если s[i] гласная, то в res добавляем две буквы s[i].
·
Если s[i] согласная,
то в res добавляем одну
букву s[i].
for (i = 0; i < s.size(); i++)
{
Добавляем в
res букву s[i].
res = res + s[i];
Если s[i] гласная, то в res добавляем букву
s[i].
if (s[i] == 'a' || s[i] == 'e' || s[i] == 'i' || s[i] == 'o' ||
s[i] == 'u' || s[i] == 'y')
res = res + s[i];
}
Выводим ответ.
cout << res;
Java реализация
import java.util.*;
public class Main
{
public static void
main(String[] args)
{
Scanner con = new
Scanner(System.in);
String s = con.nextLine();
String res = "";
for(int i = 0; i < s.length();
i++)
if (s.charAt(i) == 'a' || s.charAt(i) == 'e' ||
s.charAt(i) == 'i' || s.charAt(i) == 'o' ||
s.charAt(i) == 'u' || s.charAt(i) == 'y' )
res = res + s.charAt(i) + s.charAt(i);
else
res = res + s.charAt(i);
System.out.println(res);
con.close();
}
}
Python реализация
s = input()
Инициализируем результирующую строку res.
res = ""
Перебираем символы строки.
·
Если s[i] гласная,
то в res добавляем две буквы s[i].
·
Если s[i] согласная, то в res добавляем одну
букву s[i].
for ch in s:
Добавляем в res букву ch.
res += ch
Если ch гласная, то в res добавляем букву
ch.
if ch in "aeiouy":
res += ch
Выводим ответ.
print(res)